using System;
using System.Collections.Generic;
using UnityEngine;

[Serializable]
public class GameData
{
    public int gold;
    public  List<float> playerHealth;
    public string lastScenePlayed;
    public Vector3 lastPlayerPosition;

    [Header("----- Inventory System Data-----")]
    public SerializableDictionary<string, int> inventory; //itemId->StackSize

    public SerializableDictionary<string, int> storage; //itemId->StackSize
    public SerializableDictionary<string, int> storageMaterials; //itemId->StackSize
    public List<string> equipment;

    [Header("----- Skill System Data -----")]
    public int skillPoints;
    public SerializableDictionary<string, bool> skillNodes;
    public SerializableDictionary<SkillType, SkillUpgradeType> skillUpgrade;

    [Header("----- Check Point -----")]
    public SerializableDictionary<string, bool> checkPoint;

    [Header("----- Quest Data -----")]
    public SerializableDictionary<string, int> quests; //player was performing quest  questId->currentProgress
    public List<string> merchantQuests; //mechant quest //questId

    public GameData()
    {
        inventory = new SerializableDictionary<string, int>();
        storage = new SerializableDictionary<string, int>();
        storageMaterials = new SerializableDictionary<string, int>();
        equipment = new List<string>();
        playerHealth = new List<float>();
        skillNodes = new SerializableDictionary<string, bool>();
        skillUpgrade = new SerializableDictionary<SkillType, SkillUpgradeType>();
        checkPoint = new SerializableDictionary<string, bool>();
        quests = new SerializableDictionary<string, int>();
        merchantQuests = new List<string>();
        
    }
}
